'''
编写一个用户注册小程序，要求用户在控制台输入“ID”、“EMAIL地址”、“身份证号”、“姓名”。要求：
	ID长度不能超过8位，且只能由数字、字母、下划线组成
	EMAIL地址要求符合基本电子邮件格式
	身份证号要求符合基本格式
	姓名只能中文且不能超过4位
	以上操作均不能用正则表达式
验证合法后输出用户的所有信息，要求在信息中体现出性别。

'''
#判断字符是否是汉字
def isHanzi(s):
    if ord(s)>19968 and ord(s)<40869:
        return True
    else:
        return False


# email=input('请输入邮箱：')
'''
    1、判断是否有且仅有一个@且不能在开头或结尾
    2、判断"@"之后必须有"."且不能紧跟
    3、@之前要有6个字符
'''
print('水电费','123456@qq.com'.index('.',6>(6+1)))
#判断邮箱格式是否正确
def TEmail(email):
    flag=True
    k=0#@钱的字符数
    index1 = email.index('@')#获取@的索引
    index2 = email.index('.')#获取.的索引
    index3=email.rindex('@')#获取最后一个@的索引
    print(index1)
    print(index2)
    #判断是否有且仅有一个@且不能在开头或结尾
    if index1>0 and index1==index3 and index1<len(email-1):
        k+=1
    #判断"@"之后必须有"."且不能紧跟
    if email.index('.',index1>(index1+1)):
        k+=1




print(TEmail('123456@qq.com'))
'''
   //判断是否有仅有一个@且不能在开头或结尾
         if(email.indexOf("@") > 0 && email.indexOf('@') == email.lastIndexOf('@') && email.indexOf('@') < email.length()-1) {
             k++;
         }
//判断"@"之后必须有"."且不能紧跟
         if(email.indexOf('.',email.indexOf('@')) > email.indexOf('@')+1 ) {
             k++;
         }
         //判断"@"之前或之后不能紧跟"."
         if(email.indexOf('.') < email.indexOf('@')-1 || email.indexOf('.') > email.indexOf('@')+1 ) {
             k++;
         }
         //@之前要有6个字符
         if(email.indexOf('@') > 5 ) {
             k++;
         }

         if(email.endsWith("com") || email.endsWith("org") || email.endsWith("cn") ||email.endsWith("net")) {
             k++;
         }
         if(k == 5) {
             return true;
         }'''




print('===============用户注册小程序===============')
ID=input('请输入ID：')
IDFlag=True
list1=list(ID)
if len(ID)>8:
    print('ID长度不能超过8位')

#先判断是否 是字母 如果是字母通过，如果不是字母 再判断是否数字，如果是数字，通过，如果不是，报错
for i in list1:
    if isHanzi(str(i)):  # 是汉字
        print(i, '不符合id格式！ID只能由数字、字母、下划线组成!')
        IDFlag = False
        break

    if str(i).isalpha()!=True:#不是字母
        if str(i).isdigit()!=True:#不是数字
            if str(i)!='_':#不是下划线
                print(i,'不符合id格式！ID只能由数字、字母、下划线组成!')
                IDFlag=False
                break
if IDFlag:
    print('ID格式正确:',ID)


